std::literals::chrono_literals::operator""d
Определён в заголовочном файле <chrono> | ||
|---|---|---|
constexpr std::chrono::day operator ""d( unsigned long long d ) noexcept; | (начиная с C++20) |
Создаёт литерал std::chrono::day, представляющий день месяца в календаре.
Параметры
| d | - | значение дня |
Возвращаемое значение
std::chrono::day, хранящий d. Если d > 255, сохранённое значение не определено.
Возможная реализация
constexpr std::chrono::day operator ""d(unsigned long long d) noexcept
{
return std::chrono::day(d);
}
|
Примечания
Этот оператор объявлен в пространстве имён std::literals::chrono_literals, где и literals, и chrono_literals являются встроенными пространствами имён. Доступ к этому оператору можно получить с помощью:
-
using namespace std::literals, -
using namespace std::chrono_literalsили -
using namespace std::literals::chrono_literals.
Кроме того, в пространстве имён std::chrono директива using namespace literals::chrono_literals; предоставляется стандартной библиотекой, поэтому, если программист использует using namespace std::chrono; для доступа к классам библиотеки chrono, соответствующие операторы литералов также становятся видимыми.
Пример
#include <chrono>
#include <iostream>
int main()
{
using namespace std::literals::chrono_literals;
std::cout << static_cast<unsigned>(42d) << '\t' << 42d << '\n'
<< static_cast<unsigned>(256d) << '\t' << 256d << '\n' // unspecified
<< static_cast<unsigned>(298d) << '\t' << 298d << '\n'; // unspecified
}
Возможный вывод:
42 42 is not a valid day 0 00 is not a valid day 42 42 is not a valid day
См. также
создаёт day (открытая функция-член std::chrono::day) |
|
| получает сохранённое значение дня (открытая функция-член std::chrono::day) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/operator%22%22d